1. Field of the Invention
The present invention relates to a device for encoding and decoding data such as moving image data and a processing system for the same, and more particularly to a device that performs encoding and decoding processes on data using error correction.
2. Description of the Related Art
For example, it is desirable to decrease the amount of data associated with transmission in order to efficiently perform communication of a signal including data such as moving image data through an electronic communication line or the like. Hereinafter, the data such as moving image data will be referred to as “image data”. Therefore, an encoding side (or transmitting side) performs a process for encoding image data and transmits a signal including encoding-related data (specifically, encoded data). On the other hand, a decoding side (or receiving side) receives a signal including the encoded data to reproduce (or regenerate) the data such as moving image data.
In one example method, image data is encoded using Distributed Video Coding (DVC), which is also referred to as “Distributed Source Coding (DSC)”. For example, see Anne Aaron, Shantaun Rane, Eric Setton, and Bernd Girod, “Transform-domain Wyner-Ziv codec for video,” in Proc., SPIE Visual Communications and Image Processing, San Jose, Calif., 2004. DVC is a method for encoding image data based on the Slepian-Wolf theorem. In this method, the theory that, even when two correlated image data elements are independently encoded, they can be compressed with the same efficiency as when they are encoded with reference to each other, provided that the rate is within an allowable range.
For example, frames (images) are grouped in the encoding method using DVC. One of the frames is defined as a key frame and the other frames are defined as non-key frames. When the key frame is encoded in the encoding-side device, encoding (for example, intra-frame encoding) is performed directly on its image data to generate data (hereinafter referred to as “compressed image data”) and the compressed image data is transmitted. When each non-key frame is encoded, Discrete Cosine Transform (DCT), quantization, and the like are performed based on its image data to generate image-related data (hereinafter referred to as an “image information bit”). Although the image information bit is described as a single bit, it may also indicate a data sequence or the like without being limited to 1 bit. Coded data of an error correction code of one frame is generated from the image information bit and is then stored. Hereinafter, the coded data is referred to as “coded bits”. Here, the image information bit may be assumed to be a pixel fracture or the like. A signal including part of the stored coded bits is then transmitted.
When the key frame is decoded in the decoding-side device, decoding (decompression) is performed based on its compressed image data to reproduce image data. When each non-key frame is decoded, decoding is performed, for example, based on image data of a previous frame to generate image data of a predicted image. A decoding process or the like is performed based on the transmission-related (or transmitted) coded bits, the image data of the predicted image, or the like and an image information bit is then reconstructed based on the result of the decoding process. Then, Inverse Discrete Cosine Transform (IDCT) or the like is performed to reproduce image data. Here, when it is determined that it is not possible to sufficiently reconstruct the image information bit from the result of the decoding process, the decoding-side device requests that the encoding-side device add coded bits. The encoding-side device reselects coded bits for addition based on the request and transmits a corresponding signal. The decoding-side device combines the additional coded bits and the code bit that is already present in the device and again performs a decoding process on the combined coded bits.
Here, a rate controller in the DVC is realized through feedback that is provided from the decoding side to the encoding side. Until it is determined that it is possible to sufficiently perform decoding as described above, the decoding-side device makes (or forms) a coded bit addition request and repeats the decoding process. Therefore, if the number of coded bit addition requests is increased, delay occurs since processing time is increased. This also reduces the frame rate.